package com.hwd.gmall.product.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.hwd.gmall.model.product.BaseCategory2;

import java.util.List;

/**
 * 二级分类的 业务层 接口
 *
 * @author 黄伟东/Victor
 * @date 2022/4/17 20:34
 */
public interface BaseCategory2Service {

    /**
     * 根据id查询二级分类
     *
     * @param id 二级分类id
     * @return com.hwd.gmall.model.product.BaseCategory2
     */
    BaseCategory2 getById(Long id);

    /**
     * 查询所有二级分类
     *
     * @return java.util.List<com.hwd.gmall.model.product.BaseCategory2>
     */
    List<BaseCategory2> listCategory2s();

    /**
     * 新增二级分类
     *
     * @param baseCategory2 二级分类
     */
    void saveCategory2(BaseCategory2 baseCategory2);

    /**
     * 根据id删除二级分类
     *
     * @param id 二级分类
     */
    void deleteCategory2(Long id);

    /**
     * 根据id修改二级分类
     *
     * @param baseCategory2 二级分类
     */
    void updateCategory2(BaseCategory2 baseCategory2);

    /**
     * 分页查询
     *
     * @param page 当前页数
     * @param size 每页显示数量
     * @return java.util.List<com.hwd.gmall.model.product.BaseCategory2>
     */
    IPage<BaseCategory2> page(Integer page, Integer size);

    /**
     * 条件查询
     *
     * @param baseCategory2 查询条件
     * @return java.util.List<com.hwd.gmall.model.product.BaseCategory2>
     */
    List<BaseCategory2> search(BaseCategory2 baseCategory2);

    /**
     * 分页条件查询
     *
     * @param baseCategory2 查询条件
     * @param page          当前页数
     * @param size          每页显示数量
     * @return java.util.List<com.hwd.gmall.model.product.BaseCategory2>
     */
    IPage<BaseCategory2> search(BaseCategory2 baseCategory2, Integer page, Integer size);


}
